#!/usr/bin/env groovy

pipeline {
    agent any
	tools {
	nodejs "node12"
	}
    stages {
        
        stage('Prepare') {
            
            steps
            {
                sh "rm -Rf ./node_modules"
                sh "npm config set unsafe-perm true"
                sh "npm config set proxy http://27316779471:Rocio2021@proxysrv.gobiernocba.gov.ar:8080/"
                sh "npm install"
            }
        }

        stage('Build- develop') {
            when {
                branch 'develop'
            }
            steps
            {
                sh "npx vue-cli-service build --mode desa"

            }
            
        }
        stage('Deploy - develop') {
            when {
                branch 'develop'
            }
           
            steps
            {
                sh "rm -Rf /deploy/front/develop/siiprot/"
                sh "mkdir -p /deploy/front/develop/siiprot/"
                sh "tar -czvf /deploy/front/develop/siiprot/dist.tar.gz dist"
                sh "scp -F /var/jenkins_home/.ssh/config-dev-01 /deploy/front/develop/siiprot/dist.tar.gz  devuser@10.250.84.92:/tmp"
                sh "ssh -i /var/jenkins_home/.ssh/id_rsa devuser@10.250.84.92 'sh /opt/siiprot/deploy_front.sh'"
                sh "scp -F /var/jenkins_home/.ssh/config-dev-02 /deploy/front/develop/siiprot/dist.tar.gz  devuser@10.250.84.97:/tmp"
                sh "ssh -i /var/jenkins_home/.ssh/id_rsa devuser@10.250.84.97 'sh /opt/siiprot/deploy_front.sh'"
            }
        }
        stage('Build - testing') {
            when {
                branch 'testing'
            }
            
            steps
            {
                sh "npx vue-cli-service build --mode desa"

            }
            
        }
        stage('Deploy - testing') {
            when {
                branch 'testing'
            }           
            steps
            {
                sh "rm -Rf /deploy/front/testing/siiprot/"
                sh "mkdir -p /deploy/front/testing/siiprot/"
                sh "tar -czvf /deploy/front/testing/siiprot/dist.tar.gz dist"
                sh "scp -F /var/jenkins_home/.ssh/config-test-01 /deploy/front/testing/siiprot/dist.tar.gz  devuser@10.250.84.98:/tmp"
                sh "ssh -i /var/jenkins_home/.ssh/id_rsa devuser@10.250.84.98 'sh /opt/siiprot/deploy_front.sh'"
                sh "scp -F /var/jenkins_home/.ssh/config-test-02 /deploy/front/testing/siiprot/dist.tar.gz  devuser@10.250.84.99:/tmp"
                sh "ssh -i /var/jenkins_home/.ssh/id_rsa devuser@10.250.84.99 'sh /opt/siiprot/deploy_front.sh'"
            }
        }
        stage('Build- preprod') {
            when {
                branch 'preprod'
            }            
            steps
            {
                sh "npx vue-cli-service build --mode desa"

            }
            
        }
        stage('Deploy - preprod') {
            when {
                branch 'preprod'
            }           
            steps
            {
                sh "rm -Rf /deploy/front/preprod/siiprot/"
                sh "mkdir -p /deploy/front/preprod/siiprot/"
                sh "tar -czvf /deploy/front/preprod/siiprot/dist.tar.gz dist"
                sh "scp -F /var/jenkins_home/.ssh/config-preprod-01 /deploy/front/preprod/siiprot/dist.tar.gz  devuser@10.250.88.74:/tmp"
                sh "ssh -i /var/jenkins_home/.ssh/id_rsa devuser@10.250.88.74 'sh /opt/siiprot/deploy_front.sh'"
                sh "scp -F /var/jenkins_home/.ssh/config-preprod-02 /deploy/front/preprod/siiprot/dist.tar.gz  devuser@10.250.88.75:/tmp"
                sh "ssh -i /var/jenkins_home/.ssh/id_rsa devuser@10.250.88.75 'sh /opt/siiprot/deploy_front.sh'"
            }
        }
    }

}